package school

var subjects = map[uint]string{0: "Chinese", 1: "Math", 2: "English", 3: "Physics", 4: "Chemistry", 5: "Biology", 6: "History", 7: "Geography", 8: "Politics"}

type CommonInterface interface {
	GetId() int
	GetName() string
	GetGender() bool
	GetAge() uint
	AttendClass(subjectId uint)
}

type Schooler struct {
	id     int
	name   string
	gender bool
	age    uint
}

func (Sc Schooler) GetAge() uint {
	return Sc.age
}
func (Sc Schooler) GetName() string {
	return Sc.name
}
func (Sc Schooler) GetGender() bool {
	return Sc.gender
}
func (Sc Schooler) GetId() int {
	return Sc.id
}

func (Sc *Schooler) SetAge(v uint) {
	Sc.age = v
}
func (Sc *Schooler) SetName(v string) {
	Sc.name = v
}
func (Sc *Schooler) SetGender(v bool) {
	Sc.gender = v
}
func (Sc *Schooler) SetId(v int) {
	Sc.id = v
}

func (Sc Schooler) Working(c CommonInterface, subjectId uint) {
	c.AttendClass(subjectId)
}
